import {ref} from "vue";
import {hrUpscalerOptions, samplerOptions} from "@/components/paint/sd/SDConfigOption";

export const stableDiffusionDict = () => {

    const loraSelectModelOption = ref<Array<any>>([
    {
      label: '加入正向',
      key: 'addPositive'
    },
    {
      label: '加入反向',
      key: 'addNegative'
    }
  ])
    // 图片尺寸
    const imageSizeOption = ref<Array<any>>([
      {
        label: '1:1 (512 * 512)',
        value: '1'
      },
      {
        label: '3:2 (768 * 512)',
        value: '2'
      },
      {
        label: '2:3 (512 * 768)',
        value: '3'
      },
      {
        label: '4:3 (1024 * 768)',
        value: '4'
      },
      {
        label: '3:4 (768 * 1024)',
        value: '5'
      }
    ])


  // 图片尺寸
  const repaintModelOptions = ref<Array<any>>([
    {
      label: '普通图生图',
      value: 'img2img'
    },
    {
      label: '重采样(Tile)',
      value: 'repaint_model_tile'
    },
    {
      label: '轮廓图(Canny)',
      value: 'repaint_model_canny'
    },
    {
      label: '骨骼图(DWPose)',
      value: 'repaint_model_dwpose'
    },
    {
      label: '参考图(Reference)',
      value: 'repaint_model_reference'
    }
  ])


  const scaleModeOption = ref<Array<any>>([
    {
      label: '仅调整大小',
      value: '0'
    },
    {
      label: '裁剪后缩放',
      value: '1'
    },
    {
      label: '缩放后填充空白',
      value: '2'
    },
    {
      label: '调整大小(浅空间放大)',
      value: '3'
    }
  ])


  // 高清修复算法
  const hrUpscalerOptions = ref<Array<any>>([
    {
      label:"Latent",
      value:"Latent"
    },
    {
      label:"Latent (antialiased)",
      value:"Latent (antialiased)"
    },
    {
      label:"潜变量(bicubic)",
      value:"Latent (bicubic)"
    },
    {
      label:"Latent (bicubic antialiased)",
      value:"Latent (bicubic antialiased)"
    },
    {
      label:"Latent (nearest)",
      value:"Latent (nearest)"
    },
    {
      label:"Latent (nearest-exact)",
      value:"Latent (nearest-exact)"
    },
    {
      label:"None",
      value:"None"
    },
    {
      label:"Lanczos",
      value:"Lanczos"
    },
    {
      label:"Nearest",
      value:"Nearest"
    },
    {
      label:"BSRGAN",
      value:"BSRGAN"
    },
    {
      label:"ESRGAN_4x",
      value:"ESRGAN_4x"
    },
    {
      label:"LDSR",
      value:"LDSR"
    },
    {
      label:"R-ESRGAN 4x+",
      value:"R-ESRGAN 4x+"
    },
    {
      label:"R-ESRGAN 4x+ Anime6B",
      value:"R-ESRGAN 4x+ Anime6B"
    },
    {
      label:"ScuNET",
      value:"ScuNET"
    },
    {
      label:"ScuNET PSNR",
      value:"ScuNET PSNR"
    },
    {
      label:"SwinIR_4x",
      value:"SwinIR_4x"
    }
  ])





    return {
      imageSizeOption,
      hrUpscalerOptions,
      loraSelectModelOption,
      repaintModelOptions,
      scaleModeOption
    }
}

